package com.yunji.aggregate.model.dto.container;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.yunji.common.annotation.Excel;
import com.yunji.common.base.PageDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Max;
import java.io.Serializable;

/**
 * @Project: yunji-coffee
 * @Package com.yunji.cabinet.params
 * @FileName CabinetTemplateParams.java
 * @Copyright Copyright © 2024 云集互联. All Rights Reserved
 * Company		com
 * @version 1.0
 * @since JDK 1.8.0_202
 * @CreateTime 2024-08-26 15:38:14
 * @Description 货柜模板参数
 * @Modification Author                    History Time			Version				Description
 * --------------------------------------------------------------------------------
 * HuaAo0803@163.com	2024-08-26 15:38:14		1.0					1.0 Version
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class CabinetTemplateParams extends PageDTO implements Serializable {
    private static final long serialVersionUID = -5942965975605806410L;

    @ApiModelProperty(value = "模板ID")
    @TableId(type = IdType.AUTO)
    private Long templateId;

    @ApiModelProperty(value = "所属ID")
    private Long belongId;

    @Excel(name = "模板名称")
    @ApiModelProperty(value = "模板名称", required = true)
    @Length(message = "模板名称不能超过{max}个字符", max = 10)
    private String templateName;

    @Excel(name = "用户类型")
    @ApiModelProperty(value = "用户类型")
    private String userType;

    @Excel(name = "用户ID")
    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @Excel(name = "代理ID")
    @ApiModelProperty(value = "代理ID")
    private Long agentId;

    @Excel(name = "网点ID")
    @ApiModelProperty(value = "网点ID")
    private Long siteId;

    @Excel(name = "货柜外形ID")
    @ApiModelProperty(value = "货柜外形ID", required = true)
    private Long shapeId;

    @Excel(name = "货柜外形名称")
    @ApiModelProperty(value = "货柜外形名称")
    private String shapeName;

    @Excel(name = "货柜格子数量")
    @ApiModelProperty("货柜格子数量")
    @Max(message = "格子数不能超过{value}", value = 99)
    private Integer nums;

    @Excel(name = "模板状态")
    @ApiModelProperty("模板状态")
    private Integer status;

    @ApiModelProperty(value = "父所属ID")
    private Long parentId;

    @ApiModelProperty(value = "搜索字段")
    private String searchField;

    @ApiModelProperty("货柜类型")
    private String typeCode;

    @ApiModelProperty("二维码")
    private String qrcode;

}